package com.mf.page;

import java.io.Serializable;
/*
 * 定义界面处理回调，主要如下功能：
 * 1.保存包括界面关闭原因：比如按键退出，超时退出；
 * 2.设置界面按钮回调，供界面按钮被按时响应，处理其他操作，比如验证数据等。默认关闭界面，但可通过返回false禁止关闭界面
 * 3.接口继承 Serializable接口，这样类对象就可以通过Bundle.putSerializable在各个Activity之间传递
 * 4.保存在页面获取到的数据
 */
public interface IPageCallback extends Serializable{
	//各个实现类需要设置一个状态位。界面为阻塞式的，初始值为 BLOCK，非阻塞式的，初始值为NOBLOCK
	public static final int BLOCK = 0;			//阻塞
	public static final int NOBLOCK = -1;			//非阻塞
	public static final int CANCEL = -2;			//取消
	public static final int OK = -3;				//界面按键
	public static final int TIME_OUT = -4;		//超时
	/*
	 * 按键按下时响应此函数，各个子类在函数里自定义要执行的操作
	 * @return boolean 是否确定取消，若返回true，则退出界面，返回false，继续在通讯界面等待 
	 */
	public boolean ButtonClickedFun();
	/*
	 * 按键是否被按下，取值为接口定义的值
	 */
	public void SetExitReason(int reason);
	/*
	 * 保存获取到的输入值
	 */
	public void SetInputText(Object input);
	/*
	 * 是否已退出，当状态为为非BLOCK时，此函数返回true
	 */
	public boolean IsExit();
	
}
